#include <iostream>

/**
 * C++命名空间
 *
 * 一个文件夹(目录)中可以包含多个文件夹，每个文件夹中不能有相同的文件名，但不同文件夹中的文件可以重名。
 */
namespace first_space{
    void func(){
        std::cout << "First Space" << std::endl;
    }
}

namespace second_space{
    void func(){
        std::cout << "Second Space" << std::endl;
    }
}

namespace k{
    void func1(){
        std::cout << "K space" << std::endl;
    }

    namespace m{
        void func1(){
            std::cout << "M space" << std::endl;
        }
    }
}

using namespace second_space;

using namespace k::m;

int main() {
    //调用第一个命名空间中的函数
    first_space::func();

    //调用第二个命名空间中的函数
    second_space::func();

    //using 指令
    func();

    //嵌套命名空间
    func1();

    return 0;
}
